// 给定两个字符串 s1 和 s2，请编写一个程序，确定其中一个字符串的字符重新排列后，能否变成另一个字符串。
		
// 示例 1：

// 输入: s1 = "abc", s2 = "bca"
// 输出: true 
// 示例 2：

// 输入: s1 = "abc", s2 = "bad"
// 输出: false
// 说明：

// 0 <= len(s1) <= 100
// 0 <= len(s2) <= 100

// 来源：力扣（LeetCode）
// 链接：https://leetcode-cn.com/problems/check-permutation-lcci
// 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

// ①sort比对
var CheckPermutation = function(s1, s2) {
    if(s1.length > 100 || s2.length > 100) return false;
    return s1.split('').sort().join('') === s2.split('').sort().join('');
};

console.log(CheckPermutation("abca", "bca"));

// ① for+includes
var CheckPermutation = function(s1, s2) {
    if(s1.length > 100 || s2.length > 100) return false;
    if(s1.length !== s2.length) return false;
    
    for(let s of s1) {
        if(!s2.includes(s)) {
            return false;
        }
    }
    
    for(let s of s2) {
        if(!s1.includes(s)) {
            return false;
        }
    }
    
    return true;
};

let s1 = "accc";
let s2 = "abcc";
console.log(CheckPermutation(s1, s2));